tl;dr:The post provides background on the internal structure of a Git repository and the Git data model, and then summarizes the end-to-end flow of a git push to GitLab over SSH and HTTP(S), highlighting interactions between the client, GitLab components, and the Git hooks.